import { getJokeListAPI } from "../../apis/index"

// pages/joke/joke.ts

// interface JokeData {
//   list: string[]
// }

Page({
  // Page<JokeData, any>({
  loading: false,
  /**
   * 页面的初始数据
   */
  data: {
    // []代表空数组
    list: [] as string[],
    refreshing: false // 下拉状态，只要下拉就变成了true，要隐藏需要手动设置为false
  },
  // 下拉刷新
  async refresh() {
    wx.showLoading({ title: '刷新中' })
    await this.getJokeList()
    this.setData({
      refreshing: false
    })
    wx.hideLoading() 
  },
  // 上拉加载
  async loadData() {
    if (!this.loading) {
      this.loading = true
      wx.showLoading({ title: '加载中' })
      const list = await getJokeListAPI({ num: 10 })
      this.setData({
        list: [...this.data.list, ...list]
      })
      wx.hideLoading()
      this.loading = false
    }
  },
  async getJokeList() {
    const list =  await getJokeListAPI({ num: 10 })
    this.setData({
      list
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad() {
    this.getJokeList()
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})